package com.atguigu.gmall.product.service;

import com.atguigu.gmall.model.product.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * description:
 * create by sxy 2021/5/8
 */
public interface ManagerService {
    List<BaseCategory1> getCategory1();

    List<BaseCategory2> getCategory2(long category1Id);

    List<BaseCategory3> getCategory3(long category2Id);

    List<BaseAttrInfo> attrInfoList(long category1Id, long category2Id, long category3Id);

    void saveAttrInfo(BaseAttrInfo baseAttrInfo);

    BaseAttrInfo getAttrInfo(Long attrId);

    IPage baseTrademark(Integer page, Integer limit);

    IPage spuInfoList(Integer page, Integer limit, Long category3Id);

    List<BaseTrademark> getTrademarkList();

    List<BaseSaleAttr> baseSaleAttrList();


    void saveSpuInfo(SpuInfo spuInfo);

    List<SpuImage> spuImageList(Long spuId);

    List<SpuSaleAttr> spuSaleAttrList(Long spuId);

    void saveSkuInfo(SkuInfo skuInfo);

    IPage skuListPage(Integer page, Integer limit);

    void onSale(Long skuId);

    void cancelSale(Long skuId);

    SkuInfo getSkuInfo(Long skuId);

    BaseCategoryView getBaseCategoryView(Long category3Id);

    List<SpuSaleAttr> getSpuSaleAttrValueChecked(Long skuId, Long spuId);

    Map getValuesSkuJson(Long spuId);

    BigDecimal getPrice(Long skuId);
}

